import Vue from 'vue'
import Vuex from 'vuex'

import { apigetUserList } from '@/api'

import HeaderVuex from './HeaderVuex'

console.log(HeaderVuex)

Vue.use(Vuex)

export default new Vuex.Store({
  // 数据仓库  保存的式全局的数据
  state: {
    // 属性
    userInfo: {},
    title: '1907A',

  },
  // mutations: 改变state的唯一方式, 纯函数
  mutations: {
    // 改变state的方法 data:触发mutations传递的参数
    CHANGE_USER_INFO(state, data) {
      state.userInfo = data
    },
    // state: 当前数据仓库， data：触发mutations时传递的参数
    CHANGE_TITLE(state, data) {
      state.title = data
    }
  },
  // 解决vuex异步操作的文艺
  actions: {
    actionGetUserList({ commit }, data) {
      // context: vuex 实例对象
      apigetUserList().then(res => {
        commit('CHANGE_TITLE', data)
      })
    }
  },
  // 拆分vuex
  modules: {
    HeaderVuex: {
      state: {
        HeaderTitle: '网站工程'
      },
      mutations: {},
      actions: {},
      getters: {}
    },
    home: {
      state: {},
      mutations: {},
      actions: {}
    }
  },
  // vuex  的计算属性
  getters: {

  }
})
